home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
parcs
/
parcs.lha
/
sample
/
sumomo.parcs
< prev
Wrap
Text File
|
1992-06-08
|
928b
|
39 lines
syntax([],[]).
syntax(Sentence,[Ptree|X]) :- s(Sentence,Y,Ptree);syntax(Y,X).
s(X,Y,s(NP,VP)) :- jp(X,Z,NP);vp(Z,Y,VP).
jp(X,Y,jp(N,J)) :- np(X,Z,N);j(Z,Y,J).
vp(X,Y,vp(N,AX)) :- np(X,Z,N);ax(Z,Y,AX).
np(X,Y,np(N)) :- n(X,Y,N).
np(X,Y,np(N,J,N2)) :- n(X,Z,N);j(Z,W,J);n(W,Y,N2).
n([sumomo|X],X,n(sumomo)).
n([momo|X],X,n(momo)).
n([uti|X],X,n(uti)).
j([mo|X],X,j(mo)).
j([no|X],X,j(no)).
ax([da|X],X,ax(da)).
ax(X,X,ax(nil)).
analyze(X,Z) :- morpheme(X,Y),syntax(Y,Z).
sanalyze(X,Z) :- morpheme(X,Y);syntax(Y,Z).
morpheme([],[]).
morpheme([s,u,m,o,m,o|X],[sumomo|Y]) :- morpheme(X,Y).
morpheme([m,o,m,o|X],[momo|Y]) :- morpheme(X,Y).
morpheme([m,o|X],[mo|Y]):-morpheme(X,Y).
morpheme([d,a|X],[da|Y]) :-morpheme(X,Y).
morpheme([n,o|X],[no|Y]) :-morpheme(X,Y).
morpheme([u,t,i|X],[uti|Y]) :-morpheme(X,Y).
/*
:-analyze([s,u,m,o,m,o,m,o,m,o,m,o,m,o,m,o,m,o,m,o,m,o,s,u,m,o,m,o,m,o,m,o,m,o,m,o,m,o,m,o,n,o,u,t,i],X).
*/